﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Web.UI;
using System.Web.UI.WebControls;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
using System.Data;

/// <summary>
/// Summary description for PopulaListBox
/// </summary>
public class CAI
{
    ConexaoROBOT Command = new ConexaoROBOT();
    
    public CAI()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public DataSet dsPermissao(String cmd, Int32 COD_GRUP)
    {
        OracleCommand cmdOP = Command.cmdROBOT(cmd);

        cmdOP.Parameters.Add(new OracleParameter("V_COD_GRUP", OracleDbType.Int32, ParameterDirection.Input)).Value = COD_GRUP;
        cmdOP.Parameters.Add(new OracleParameter("V_RESULTADO_SAIDA", OracleDbType.RefCursor, ParameterDirection.Output));

        OracleDataAdapter daPermissao = new OracleDataAdapter();
        daPermissao.SelectCommand = cmdOP;

        DataSet dsPermissao = new DataSet();

        daPermissao.Fill(dsPermissao, "Resultado");

        cmdOP.Connection.Dispose();
        cmdOP.Connection.Close();

        return dsPermissao;
    }

    public DataSet dsLog(String cmd, DateTime DATA_INIC, DateTime DATA_FIM, String NOME_LOGN, String NOME_SCHM)
    {
        OracleCommand cmdOP = Command.cmdROBOT(cmd);

        cmdOP.Parameters.Add(new OracleParameter("V_DATA_INIC", OracleDbType.Date, ParameterDirection.Input)).Value = DATA_INIC;
        cmdOP.Parameters.Add(new OracleParameter("V_DATA_FIM", OracleDbType.Date, ParameterDirection.Input)).Value = DATA_FIM;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_LOGN", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_LOGN;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_SCHM", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_SCHM;
        cmdOP.Parameters.Add(new OracleParameter("V_RESULTADO_SAIDA", OracleDbType.RefCursor, ParameterDirection.Output));

        OracleDataAdapter daPermissao = new OracleDataAdapter();
        daPermissao.SelectCommand = cmdOP;

        DataSet dsPermissao = new DataSet();

        daPermissao.Fill(dsPermissao, "Resultado");

        cmdOP.Connection.Dispose();
        cmdOP.Connection.Close();

        return dsPermissao;
    }
    
    public String GravaPermissao(Int32 COD_GRUP, String NOME_TIPO_OBJT, String NOME_TIPO_EVEN, String NOME_TIPO_ACES)
    {
        String GravaPermissao = "";

        OracleCommand cmdOP = Command.cmdROBOT("PACK_APP_CAI.PROC_APP_CAI_GRAVA_PERMISSAO");

        cmdOP.Parameters.Add(new OracleParameter("V_COD_GRUP", OracleDbType.Int32, ParameterDirection.Input)).Value = COD_GRUP;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_TIPO_OBJT", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_TIPO_OBJT;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_TIPO_EVEN", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_TIPO_EVEN;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_TIPO_ACES", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_TIPO_ACES;
        cmdOP.Parameters.Add(new OracleParameter("V_RESULTADO_SAIDA", OracleDbType.RefCursor, ParameterDirection.Output));

        OracleDataAdapter daPermissao = new OracleDataAdapter();
        daPermissao.SelectCommand = cmdOP;

        DataSet dsPermissao = new DataSet();

        daPermissao.Fill(dsPermissao, "Resultado");

        cmdOP.Connection.Dispose();
        cmdOP.Connection.Close();

        return GravaPermissao;
    }

    public String GravaUsuario(Int32 COD_USUA, String NOME_LOGN, String NOME_USUA, String COD_OPER)
    {
        String Resultado = "";

        OracleCommand cmdOP = Command.cmdROBOT("PACK_APP_CAI.PROC_APP_CAI_TCAIUSUA");

        cmdOP.Parameters.Add(new OracleParameter("V_COD_USUA", OracleDbType.Int32, ParameterDirection.Input)).Value = COD_USUA;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_LOGN", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_LOGN;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_USUA", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_USUA;
        cmdOP.Parameters.Add(new OracleParameter("V_COD_OPER", OracleDbType.Char, ParameterDirection.Input)).Value = COD_OPER;
        cmdOP.Parameters.Add(new OracleParameter("V_RESULTADO_SAIDA", OracleDbType.RefCursor, ParameterDirection.Output));

        OracleDataAdapter daResultado = new OracleDataAdapter();
        daResultado.SelectCommand = cmdOP;

        DataSet dsResultado = new DataSet();

        daResultado.Fill(dsResultado, "Resultado");

        cmdOP.Connection.Dispose();
        cmdOP.Connection.Close();

        foreach (DataRow drResultado in dsResultado.Tables[0].Rows)
        {
            Resultado = drResultado[0].ToString();
        }

        return Resultado;
    }
    
    public String GravaGrupo(Int32 COD_GRUP, String NOME_GRUP, Int32 COD_SCHM, String COD_OPER)
    {
        String Resultado = "";

        OracleCommand cmdOP = Command.cmdROBOT("PACK_APP_CAI.PROC_APP_CAI_TCAIGRUP");

        cmdOP.Parameters.Add(new OracleParameter("V_COD_GRUP", OracleDbType.Int32, ParameterDirection.Input)).Value = COD_GRUP;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_GRUP", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_GRUP;
        cmdOP.Parameters.Add(new OracleParameter("V_COD_SCHM", OracleDbType.Int32, ParameterDirection.Input)).Value = COD_SCHM;
        cmdOP.Parameters.Add(new OracleParameter("V_COD_OPER", OracleDbType.Char, ParameterDirection.Input)).Value = COD_OPER;
        cmdOP.Parameters.Add(new OracleParameter("V_RESULTADO_SAIDA", OracleDbType.RefCursor, ParameterDirection.Output));

        OracleDataAdapter daResultado = new OracleDataAdapter();
        daResultado.SelectCommand = cmdOP;

        DataSet dsResultado = new DataSet();

        daResultado.Fill(dsResultado, "Resultado");

        cmdOP.Connection.Dispose();
        cmdOP.Connection.Close();

        foreach (DataRow drResultado in dsResultado.Tables[0].Rows)
        {
            Resultado = drResultado[0].ToString();
        }

        return Resultado;
    }

    public String GravaSchema(Int32 COD_SCHM, String NOME_SCHM, String COD_OPER)
    {
        String Resultado = "";

        OracleCommand cmdOP = Command.cmdROBOT("PACK_APP_CAI.PROC_APP_CAI_TCAISCHM");

        cmdOP.Parameters.Add(new OracleParameter("V_COD_SCHM", OracleDbType.Int32, ParameterDirection.Input)).Value = COD_SCHM;
        cmdOP.Parameters.Add(new OracleParameter("V_NOME_SCHM", OracleDbType.Varchar2, ParameterDirection.Input)).Value = NOME_SCHM;
        cmdOP.Parameters.Add(new OracleParameter("V_COD_OPER", OracleDbType.Char, ParameterDirection.Input)).Value = COD_OPER;
        cmdOP.Parameters.Add(new OracleParameter("V_RESULTADO_SAIDA", OracleDbType.RefCursor, ParameterDirection.Output));

        OracleDataAdapter daResultado = new OracleDataAdapter();
        daResultado.SelectCommand = cmdOP;

        DataSet dsResultado = new DataSet();

        daResultado.Fill(dsResultado, "Resultado");

        cmdOP.Connection.Dispose();
        cmdOP.Connection.Close();

        foreach (DataRow drResultado in dsResultado.Tables[0].Rows)
        {
            Resultado = drResultado[0].ToString();
        }

        return Resultado;
    }

    public String GravaUsuarioGrupo(Int32 COD_USUA, Int32 COD_GRUP, String COD_OPER)
    {
        String Resultado = "";

        OracleCommand cmdOP = Command.cmdROBOT("PACK_APP_CAI.PROC_APP_CAI_TCAIUSUA_GRUP");

        cmdOP.Parameters.Add(new OracleParameter("V_COD_USUA", OracleDbType.Int32, ParameterDirection.Input)).Value = COD_USUA; 
        cmdOP.Parameters.Add(new OracleParameter("V_COD_GRUP", OracleDbType.Int32, ParameterDirection.Input)).Value = COD_GRUP;
        cmdOP.Parameters.Add(new OracleParameter("V_COD_OPER", OracleDbType.Char, ParameterDirection.Input)).Value = COD_OPER;
        cmdOP.Parameters.Add(new OracleParameter("V_RESULTADO_SAIDA", OracleDbType.RefCursor, ParameterDirection.Output));

        OracleDataAdapter daResultado = new OracleDataAdapter();
        daResultado.SelectCommand = cmdOP;

        DataSet dsResultado = new DataSet();

        daResultado.Fill(dsResultado, "Resultado");

        cmdOP.Connection.Dispose();
        cmdOP.Connection.Close();

        foreach (DataRow drResultado in dsResultado.Tables[0].Rows)
        {
            Resultado = drResultado[0].ToString();
        }

        return Resultado;
    }
}